主题
设置输出目标 - LogSetTarget
函数简介
设置日志的输出目标,可以同时输出到文件和控制台。
接口名称
LogSetTargetDLL调用
c
int32_t LogSetTarget(int64_t instance, int64_t loggerHandle, int32_t targetFlags);参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| loggerHandle | 长整数型 | 日志实例句柄(0 表示默认实例)。 |
| targetFlags | 整数型 | 输出目标(LogTarget 组合)。 |
LogTarget 枚举值
| 枚举值 | 值 | 说明 |
|---|---|---|
| OLA_LOG_TARGET_NONE | 0 | 无输出 |
| OLA_LOG_TARGET_FILE | 1<<0 | 输出到文件 |
| OLA_LOG_TARGET_CONSOLE | 1<<1 | 输出到控制台 |
位运算组合示例
将需要的输出目标 按位或(|)相加 后传入 targetFlags:
csharp
// 同时输出到文件和控制台(默认值 3)
int targetFlags = 1 | 2; // OLA_LOG_TARGET_FILE | OLA_LOG_TARGET_CONSOLE
ola.LogSetTarget(0, targetFlags);
// 仅输出到文件
ola.LogSetTarget(0, 1);
// 临时禁用所有输出
ola.LogSetTarget(0, 0); // OLA_LOG_TARGET_NONEcpp
// 同时输出到文件和控制台
int targetFlags = (1 << 0) | (1 << 1); // 3
ola.LogSetTarget(0, targetFlags);python
# 同时输出到文件和控制台
target_flags = 1 | 2
ola.LogSetTarget(0, target_flags)示例
SDK 调用
cpp
#include "OLAPlugServer.h"
OLAPlugServer ola;
int ret = ola.LogSetTarget(0, 0);
if (ret == 1) {
// 操作成功
}csharp
using OLAPlug;
var ola = new OLAPlugServer();
int ret = ola.LogSetTarget(0, 0);
if (ret == 1)
{
// 操作成功
}python
from OLAPlugServer import OLAPlugServer
ola = OLAPlugServer()
ret = ola.LogSetTarget(0, 0)
if ret == 1:
pass # 操作成功java
import com.olaplug.OLAPlugServer;
OLAPlugServer ola = new OLAPlugServer();
int ret = ola.LogSetTarget(0, 0);
if (ret == 1) {
// 操作成功
}go
import "github.com/ola/olaplug/olaplug"
ola, _ := olaplug.NewOLAPlugServer("OLAPlug_x64.dll")
defer ola.ReleaseObj()
ret := ola.LogSetTarget(0, 0)
if ret == 1 {
// 操作成功
}rust
use olaplug::OLAPlugServer;
let ola = OLAPlugServer::new("OLAPlug_x64.dll").unwrap();
let ret = ola.log_set_target(0, 0);
if ret == 1 {
// 操作成功
}cpp
var ola = com("OlaPlug.OlaSoft")
var ret = ola.LogSetTarget(0, 0)
if(ret == 1) {
// 操作成功
}vbscript
Set ola = CreateObject("OlaPlug.OlaSoft")
ret = ola.LogSetTarget(0, 0)
If ret = 1 Then
' 操作成功
End Iftext
.局部变量 ola, OLAPlug
ola.创建 ()
ret = ola.LogSetTarget(0, 0)
.如果真 (ret = 1)
' 操作成功
.如果真结束aardio
import OLAPlugServer;
var ola = OLAPlugServer();
var ret = ola.LogSetTarget(0, 0);
if(ret == 1){
// 操作成功
}text
变量 ola <类型 = OLAPlugServer>
ola = 新建 OLAPlugServer
整数 ret = ola.LogSetTarget(0, 0)
如果真 (ret = 1)
{
// 操作成功
}cpp
#include "OLAPlugServer.h"
OLAPlugServer ola;
int32_t ret = ola.LogSetTarget(0, 0);
if (ret == 1) {
// 操作成功
}原生 DLL 调用
cpp
LogSetTarget(instance, 0, 0);csharp
using System.Runtime.InteropServices;
using System.Text;
[DllImport("OLAPlug_x64.dll", CallingConvention = CallingConvention.StdCall)]
static extern int LogSetTarget(long ola, int loggerHandle, int targetFlags);
LogSetTarget(instance, 0, 0);python
from ctypes import CDLL, c_int, c_int64, create_string_buffer
ola = CDLL("OLAPlug_x64.dll")
ola.CreateCOLAPlugInterFace.restype = c_int64
ola.LogSetTarget(instance, 0, 0)返回值
| 返回值 | 说明 |
|---|---|
1 | 成功。 |
0 | 失败。 |
注意事项
| 项目 | 说明 |
|---|---|
| 默认值 | `OLA_LOG_TARGET_FILE |
| 可以使用位或运算(` | `)组合多个目标 |
| 控制台输出支持彩色显示(不同级别显示不同颜色) | 控制台输出支持彩色显示(不同级别显示不同颜色)。 |
| 修改后立即生效 | 修改后立即生效,如果日志系统已初始化,会自动重新初始化。 |
| OLA_LOG_TARGET_NONE | 设置为 OLA_LOG_TARGET_NONE 可以临时禁用日志输出。 |
